using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Org.BouncyCastle.Crypto;
using SqlSugar;

namespace NP.BPMReportPlatform.Entities.BPM_Business
{
    /// <summary>
    /// 原材料未来价格指数预测 主表
    /// </summary>
    public class YCLWLJGZSYCHeader : BaseHead
    {
        /// <summary>
        /// 维护类型：1按月维护 2按季维护 3半年 4按半年维护，实际按月 5按一年维护，实际按月 6按三年维护，年内按月，明年开始按季度
        /// </summary>
        [JsonProperty(PropertyName = "MaintenanceType")]
        public int MaintenanceType { get; set; }

        /// <summary>
        /// 当前时间
        /// </summary>
        [JsonProperty(PropertyName = "CurrentTime")]
        public string CurrentTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [JsonProperty(PropertyName = "Remark")]
        public string Remark { get; set; }

        /// <summary>
        /// 事业群 IU TU 空表示全部
        /// </summary>
        [JsonProperty(PropertyName = "Dept")]
        public string Dept { get; set; }

        /// <summary>
        ///  行数据
        /// </summary>
        [JsonProperty(PropertyName = "lineData")]
        [SugarColumn(IsIgnore = true)]
        public List<YCLWLJGZSYCDetail> LineData { get; set; }

        /// <summary>
        ///  时间类型数据
        /// </summary>
        [JsonProperty(PropertyName = "timeTypeData")]
        [SugarColumn(IsIgnore = true)]
        public List<YCLWLJGZSYCTimeType> TimeTypeData { get; set; }

        /// <summary>
        /// 最后一个操作人ID
        /// </summary>
        [JsonProperty(PropertyName = "OperateUserId")]
        public string OperateUserId { get; set; }

        /// <summary>
        /// 最后一个操作人名字
        /// </summary>
        [JsonProperty(PropertyName = "OperateUserName")]
        public string OperateUserName { get; set; }

        /// <summary>
        /// 最后一次操作时间
        /// </summary>
        [JsonProperty(PropertyName = "OperateTime")]
        public DateTime? OperateTime { get; set; }

        /// <summary>
        /// 最后一次操作节点
        /// </summary>
        [JsonProperty(PropertyName = "OperateNode")]
        public string OperateNode { get; set; }

        /// <summary>
        /// 当前审批人
        /// </summary>
        [JsonProperty(PropertyName = "CurrentOperateUserId")]
        public string CurrentOperateUserId { get; set; }

        /// <summary>
        /// 当前审批人
        /// </summary>
        [JsonProperty(PropertyName = "CurrentOperateUserName")]
        public string CurrentOperateUserName { get; set; }

        /// <summary>
        /// 当前节点
        /// </summary>
        [JsonProperty(PropertyName = "CurrentNode")]
        public string CurrentNode { get; set; }

        /// <summary>
        /// 原材料/包材
        /// </summary>
        [JsonProperty(PropertyName = "MaterialType")]
        public string MaterialType { get; set; }
    }
}
